package com.sailfish.springbootdemo.service.db2;

import com.sailfish.springbootdemo.pojo.Result;
import com.sailfish.springbootdemo.pojo.db2.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface PcbSpecialProcessService {

    List<PcbSpecialProcessInfo> getAllByLimit(String pcbSpecialProcessName, String pcbSpecialProcessNameEn, String version, Integer status);

    //    List<PcbSpecialProcessData> getData();

    Result insert(PcbSpecialProcessInfo param);

    Result delete(Integer id);

    Result update(PcbSpecialProcessInfo param);

    Result insertOrUpdatePcbSpecialProcessData(String data);

    List<PcbSpecialProcessInfo> getPcbSpecialProcessData(String pcbSpecialProcessName, String pcbSpecialProcessNameEn, String version, List<PcbSonFactoryInfo> list);

    List<SpecialProcessVM> getPcbSpecialProcessDataByFactory(String version, PcbSonFactoryInfo pcbSonFactoryInfo);

    PcbSpecialProcessInfo getById(Integer id);

    Result upgrade(String newVersion);

    List<PcbSpecialProcessVersion> getVersionList();

    Result readExcel(HttpServletRequest req);

    Result outputSpecialProcessParam(String pcbSpecialProcessName, String pcbSpecialProcessNameEn, String version);

    Result outputSpecialProcessData(String pcbSpecialProcessName, String pcbSpecialProcessNameEn, String version);

    List<CapacityMatch> getCapacityMatch(List<PcbSonFactoryInfo> sonFactoryInfoList, List<PcbSpecialProcessInfo> pcbSpecialProcessInfos);


    String getCurrentVersion();


}
